using System;
using System.Collections;
using System.Collections.Generic;

using NHibernate.Data.Base;

namespace NHibernate.Data.Models
{
    public partial class Wine : BusinessBase<long>
    {
        #region Declarations

		
		private long _originCountry = default(Int64);
		private long _brand = default(Int64);
		private long _regionC = default(Int64);
		private long _typeBySugar = default(Int64);
		private long _additionalInformation = default(Int64);
		private long _regionA = default(Int64);
		private long _localName = default(Int64);
		private long _regionB = default(Int64);
		private long _generalAgentInMainlandChina = default(Int64);
		private long _oakAging = default(Int64);
		private long _winery = default(Int64);
		private long _closureType = default(Int64);
		private long _typeByColor = default(Int64);
		private long _classification = default(Int64);
		private long _wineTypeByVinification = default(Int64);
		private long _supplier = default(Int64);
		private long _description = default(Int64);
		private long _makerComment = default(Int64);
		private string _code = String.Empty;
		private string _internationalName = String.Empty;
		private string _vintage = String.Empty;
		private bool _isSparklingWine = default(Boolean);
		private bool _isFineWine = default(Boolean);
		private decimal _alcohol = default(Decimal);
		private int _volume = default(Int32);
		private int _shelfLife = default(Int32);
		private System.DateTime _bottlingDate = new DateTime();
		private decimal _marketPrice = default(Decimal);
		private decimal _retailPrice = default(Decimal);
		private decimal _memberPrice = default(Decimal);
		private decimal _vIPPrice = default(Decimal);
		private decimal _promotionalPrice = default(Decimal);
		private int _recommendationIndex = default(Int32);
		private int _packing = default(Int32);
		private string _servingTemperature = String.Empty;
		private string _servingTime = String.Empty;
		private string _decanterDuration = String.Empty;
		private string _sugar = String.Empty;
		private decimal _weight = default(Decimal);
		private string _makerName = String.Empty;
		private int _memberScoring = default(Int32);
		private string _agingDuration = String.Empty;
		private bool _isWineryBottling = default(Boolean);
		private bool _isBrailleLogo = default(Boolean);
		private bool _isManualHarvest = default(Boolean);
		private long _annualProduction = default(Int64);
		private string _barcode = String.Empty;
		private bool _isOrganicProduct = default(Boolean);
		private string _importationDeclarationNo = String.Empty;
		private string _cIQNo = String.Empty;
		private long _minimumOrderQuantity = default(Int64);
		private string _imageA = String.Empty;
		private string _imageB = String.Empty;
		private string _imageC = String.Empty;
		private string _imageD = String.Empty;
		private string _resource = String.Empty;
		
		
		
        #endregion

        #region Constructors

        public Wine() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_originCountry);
			sb.Append(_brand);
			sb.Append(_regionC);
			sb.Append(_typeBySugar);
			sb.Append(_additionalInformation);
			sb.Append(_regionA);
			sb.Append(_localName);
			sb.Append(_regionB);
			sb.Append(_generalAgentInMainlandChina);
			sb.Append(_oakAging);
			sb.Append(_winery);
			sb.Append(_closureType);
			sb.Append(_typeByColor);
			sb.Append(_classification);
			sb.Append(_wineTypeByVinification);
			sb.Append(_supplier);
			sb.Append(_description);
			sb.Append(_makerComment);
			sb.Append(_code);
			sb.Append(_internationalName);
			sb.Append(_vintage);
			sb.Append(_isSparklingWine);
			sb.Append(_isFineWine);
			sb.Append(_alcohol);
			sb.Append(_volume);
			sb.Append(_shelfLife);
			sb.Append(_bottlingDate);
			sb.Append(_marketPrice);
			sb.Append(_retailPrice);
			sb.Append(_memberPrice);
			sb.Append(_vIPPrice);
			sb.Append(_promotionalPrice);
			sb.Append(_recommendationIndex);
			sb.Append(_packing);
			sb.Append(_servingTemperature);
			sb.Append(_servingTime);
			sb.Append(_decanterDuration);
			sb.Append(_sugar);
			sb.Append(_weight);
			sb.Append(_makerName);
			sb.Append(_memberScoring);
			sb.Append(_agingDuration);
			sb.Append(_isWineryBottling);
			sb.Append(_isBrailleLogo);
			sb.Append(_isManualHarvest);
			sb.Append(_annualProduction);
			sb.Append(_barcode);
			sb.Append(_isOrganicProduct);
			sb.Append(_importationDeclarationNo);
			sb.Append(_cIQNo);
			sb.Append(_minimumOrderQuantity);
			sb.Append(_imageA);
			sb.Append(_imageB);
			sb.Append(_imageC);
			sb.Append(_imageD);
			sb.Append(_resource);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual long OriginCountry
        {
            get { return _originCountry; }
			set
			{
				OnOriginCountryChanging();
				_originCountry = value;
				OnOriginCountryChanged();
			}
        }
		partial void OnOriginCountryChanging();
		partial void OnOriginCountryChanged();
		
		public virtual long Brand
        {
            get { return _brand; }
			set
			{
				OnBrandChanging();
				_brand = value;
				OnBrandChanged();
			}
        }
		partial void OnBrandChanging();
		partial void OnBrandChanged();
		
		public virtual long RegionC
        {
            get { return _regionC; }
			set
			{
				OnRegionCChanging();
				_regionC = value;
				OnRegionCChanged();
			}
        }
		partial void OnRegionCChanging();
		partial void OnRegionCChanged();
		
		public virtual long TypeBySugar
        {
            get { return _typeBySugar; }
			set
			{
				OnTypeBySugarChanging();
				_typeBySugar = value;
				OnTypeBySugarChanged();
			}
        }
		partial void OnTypeBySugarChanging();
		partial void OnTypeBySugarChanged();
		
		public virtual long AdditionalInformation
        {
            get { return _additionalInformation; }
			set
			{
				OnAdditionalInformationChanging();
				_additionalInformation = value;
				OnAdditionalInformationChanged();
			}
        }
		partial void OnAdditionalInformationChanging();
		partial void OnAdditionalInformationChanged();
		
		public virtual long RegionA
        {
            get { return _regionA; }
			set
			{
				OnRegionAChanging();
				_regionA = value;
				OnRegionAChanged();
			}
        }
		partial void OnRegionAChanging();
		partial void OnRegionAChanged();
		
		public virtual long LocalName
        {
            get { return _localName; }
			set
			{
				OnLocalNameChanging();
				_localName = value;
				OnLocalNameChanged();
			}
        }
		partial void OnLocalNameChanging();
		partial void OnLocalNameChanged();
		
		public virtual long RegionB
        {
            get { return _regionB; }
			set
			{
				OnRegionBChanging();
				_regionB = value;
				OnRegionBChanged();
			}
        }
		partial void OnRegionBChanging();
		partial void OnRegionBChanged();
		
		public virtual long GeneralAgentInMainlandChina
        {
            get { return _generalAgentInMainlandChina; }
			set
			{
				OnGeneralAgentInMainlandChinaChanging();
				_generalAgentInMainlandChina = value;
				OnGeneralAgentInMainlandChinaChanged();
			}
        }
		partial void OnGeneralAgentInMainlandChinaChanging();
		partial void OnGeneralAgentInMainlandChinaChanged();
		
		public virtual long OakAging
        {
            get { return _oakAging; }
			set
			{
				OnOakAgingChanging();
				_oakAging = value;
				OnOakAgingChanged();
			}
        }
		partial void OnOakAgingChanging();
		partial void OnOakAgingChanged();
		
		public virtual long Winery
        {
            get { return _winery; }
			set
			{
				OnWineryChanging();
				_winery = value;
				OnWineryChanged();
			}
        }
		partial void OnWineryChanging();
		partial void OnWineryChanged();
		
		public virtual long ClosureType
        {
            get { return _closureType; }
			set
			{
				OnClosureTypeChanging();
				_closureType = value;
				OnClosureTypeChanged();
			}
        }
		partial void OnClosureTypeChanging();
		partial void OnClosureTypeChanged();
		
		public virtual long TypeByColor
        {
            get { return _typeByColor; }
			set
			{
				OnTypeByColorChanging();
				_typeByColor = value;
				OnTypeByColorChanged();
			}
        }
		partial void OnTypeByColorChanging();
		partial void OnTypeByColorChanged();
		
		public virtual long Classification
        {
            get { return _classification; }
			set
			{
				OnClassificationChanging();
				_classification = value;
				OnClassificationChanged();
			}
        }
		partial void OnClassificationChanging();
		partial void OnClassificationChanged();
		
		public virtual long WineTypeByVinification
        {
            get { return _wineTypeByVinification; }
			set
			{
				OnWineTypeByVinificationChanging();
				_wineTypeByVinification = value;
				OnWineTypeByVinificationChanged();
			}
        }
		partial void OnWineTypeByVinificationChanging();
		partial void OnWineTypeByVinificationChanged();
		
		public virtual long Supplier
        {
            get { return _supplier; }
			set
			{
				OnSupplierChanging();
				_supplier = value;
				OnSupplierChanged();
			}
        }
		partial void OnSupplierChanging();
		partial void OnSupplierChanged();
		
		public virtual long Description
        {
            get { return _description; }
			set
			{
				OnDescriptionChanging();
				_description = value;
				OnDescriptionChanged();
			}
        }
		partial void OnDescriptionChanging();
		partial void OnDescriptionChanged();
		
		public virtual long MakerComment
        {
            get { return _makerComment; }
			set
			{
				OnMakerCommentChanging();
				_makerComment = value;
				OnMakerCommentChanged();
			}
        }
		partial void OnMakerCommentChanging();
		partial void OnMakerCommentChanged();
		
		public virtual string Code
        {
            get { return _code; }
			set
			{
				OnCodeChanging();
				_code = value;
				OnCodeChanged();
			}
        }
		partial void OnCodeChanging();
		partial void OnCodeChanged();
		
		public virtual string InternationalName
        {
            get { return _internationalName; }
			set
			{
				OnInternationalNameChanging();
				_internationalName = value;
				OnInternationalNameChanged();
			}
        }
		partial void OnInternationalNameChanging();
		partial void OnInternationalNameChanged();
		
		public virtual string Vintage
        {
            get { return _vintage; }
			set
			{
				OnVintageChanging();
				_vintage = value;
				OnVintageChanged();
			}
        }
		partial void OnVintageChanging();
		partial void OnVintageChanged();
		
		public virtual bool IsSparklingWine
        {
            get { return _isSparklingWine; }
			set
			{
				OnIsSparklingWineChanging();
				_isSparklingWine = value;
				OnIsSparklingWineChanged();
			}
        }
		partial void OnIsSparklingWineChanging();
		partial void OnIsSparklingWineChanged();
		
		public virtual bool IsFineWine
        {
            get { return _isFineWine; }
			set
			{
				OnIsFineWineChanging();
				_isFineWine = value;
				OnIsFineWineChanged();
			}
        }
		partial void OnIsFineWineChanging();
		partial void OnIsFineWineChanged();
		
		public virtual decimal Alcohol
        {
            get { return _alcohol; }
			set
			{
				OnAlcoholChanging();
				_alcohol = value;
				OnAlcoholChanged();
			}
        }
		partial void OnAlcoholChanging();
		partial void OnAlcoholChanged();
		
		public virtual int Volume
        {
            get { return _volume; }
			set
			{
				OnVolumeChanging();
				_volume = value;
				OnVolumeChanged();
			}
        }
		partial void OnVolumeChanging();
		partial void OnVolumeChanged();
		
		public virtual int ShelfLife
        {
            get { return _shelfLife; }
			set
			{
				OnShelfLifeChanging();
				_shelfLife = value;
				OnShelfLifeChanged();
			}
        }
		partial void OnShelfLifeChanging();
		partial void OnShelfLifeChanged();
		
		public virtual System.DateTime BottlingDate
        {
            get { return _bottlingDate; }
			set
			{
				OnBottlingDateChanging();
				_bottlingDate = value;
				OnBottlingDateChanged();
			}
        }
		partial void OnBottlingDateChanging();
		partial void OnBottlingDateChanged();
		
		public virtual decimal MarketPrice
        {
            get { return _marketPrice; }
			set
			{
				OnMarketPriceChanging();
				_marketPrice = value;
				OnMarketPriceChanged();
			}
        }
		partial void OnMarketPriceChanging();
		partial void OnMarketPriceChanged();
		
		public virtual decimal RetailPrice
        {
            get { return _retailPrice; }
			set
			{
				OnRetailPriceChanging();
				_retailPrice = value;
				OnRetailPriceChanged();
			}
        }
		partial void OnRetailPriceChanging();
		partial void OnRetailPriceChanged();
		
		public virtual decimal MemberPrice
        {
            get { return _memberPrice; }
			set
			{
				OnMemberPriceChanging();
				_memberPrice = value;
				OnMemberPriceChanged();
			}
        }
		partial void OnMemberPriceChanging();
		partial void OnMemberPriceChanged();
		
		public virtual decimal VIPPrice
        {
            get { return _vIPPrice; }
			set
			{
				OnVIPPriceChanging();
				_vIPPrice = value;
				OnVIPPriceChanged();
			}
        }
		partial void OnVIPPriceChanging();
		partial void OnVIPPriceChanged();
		
		public virtual decimal PromotionalPrice
        {
            get { return _promotionalPrice; }
			set
			{
				OnPromotionalPriceChanging();
				_promotionalPrice = value;
				OnPromotionalPriceChanged();
			}
        }
		partial void OnPromotionalPriceChanging();
		partial void OnPromotionalPriceChanged();
		
		public virtual int RecommendationIndex
        {
            get { return _recommendationIndex; }
			set
			{
				OnRecommendationIndexChanging();
				_recommendationIndex = value;
				OnRecommendationIndexChanged();
			}
        }
		partial void OnRecommendationIndexChanging();
		partial void OnRecommendationIndexChanged();
		
		public virtual int Packing
        {
            get { return _packing; }
			set
			{
				OnPackingChanging();
				_packing = value;
				OnPackingChanged();
			}
        }
		partial void OnPackingChanging();
		partial void OnPackingChanged();
		
		public virtual string ServingTemperature
        {
            get { return _servingTemperature; }
			set
			{
				OnServingTemperatureChanging();
				_servingTemperature = value;
				OnServingTemperatureChanged();
			}
        }
		partial void OnServingTemperatureChanging();
		partial void OnServingTemperatureChanged();
		
		public virtual string ServingTime
        {
            get { return _servingTime; }
			set
			{
				OnServingTimeChanging();
				_servingTime = value;
				OnServingTimeChanged();
			}
        }
		partial void OnServingTimeChanging();
		partial void OnServingTimeChanged();
		
		public virtual string DecanterDuration
        {
            get { return _decanterDuration; }
			set
			{
				OnDecanterDurationChanging();
				_decanterDuration = value;
				OnDecanterDurationChanged();
			}
        }
		partial void OnDecanterDurationChanging();
		partial void OnDecanterDurationChanged();
		
		public virtual string Sugar
        {
            get { return _sugar; }
			set
			{
				OnSugarChanging();
				_sugar = value;
				OnSugarChanged();
			}
        }
		partial void OnSugarChanging();
		partial void OnSugarChanged();
		
		public virtual decimal Weight
        {
            get { return _weight; }
			set
			{
				OnWeightChanging();
				_weight = value;
				OnWeightChanged();
			}
        }
		partial void OnWeightChanging();
		partial void OnWeightChanged();
		
		public virtual string MakerName
        {
            get { return _makerName; }
			set
			{
				OnMakerNameChanging();
				_makerName = value;
				OnMakerNameChanged();
			}
        }
		partial void OnMakerNameChanging();
		partial void OnMakerNameChanged();
		
		public virtual int MemberScoring
        {
            get { return _memberScoring; }
			set
			{
				OnMemberScoringChanging();
				_memberScoring = value;
				OnMemberScoringChanged();
			}
        }
		partial void OnMemberScoringChanging();
		partial void OnMemberScoringChanged();
		
		public virtual string AgingDuration
        {
            get { return _agingDuration; }
			set
			{
				OnAgingDurationChanging();
				_agingDuration = value;
				OnAgingDurationChanged();
			}
        }
		partial void OnAgingDurationChanging();
		partial void OnAgingDurationChanged();
		
		public virtual bool IsWineryBottling
        {
            get { return _isWineryBottling; }
			set
			{
				OnIsWineryBottlingChanging();
				_isWineryBottling = value;
				OnIsWineryBottlingChanged();
			}
        }
		partial void OnIsWineryBottlingChanging();
		partial void OnIsWineryBottlingChanged();
		
		public virtual bool IsBrailleLogo
        {
            get { return _isBrailleLogo; }
			set
			{
				OnIsBrailleLogoChanging();
				_isBrailleLogo = value;
				OnIsBrailleLogoChanged();
			}
        }
		partial void OnIsBrailleLogoChanging();
		partial void OnIsBrailleLogoChanged();
		
		public virtual bool IsManualHarvest
        {
            get { return _isManualHarvest; }
			set
			{
				OnIsManualHarvestChanging();
				_isManualHarvest = value;
				OnIsManualHarvestChanged();
			}
        }
		partial void OnIsManualHarvestChanging();
		partial void OnIsManualHarvestChanged();
		
		public virtual long AnnualProduction
        {
            get { return _annualProduction; }
			set
			{
				OnAnnualProductionChanging();
				_annualProduction = value;
				OnAnnualProductionChanged();
			}
        }
		partial void OnAnnualProductionChanging();
		partial void OnAnnualProductionChanged();
		
		public virtual string Barcode
        {
            get { return _barcode; }
			set
			{
				OnBarcodeChanging();
				_barcode = value;
				OnBarcodeChanged();
			}
        }
		partial void OnBarcodeChanging();
		partial void OnBarcodeChanged();
		
		public virtual bool IsOrganicProduct
        {
            get { return _isOrganicProduct; }
			set
			{
				OnIsOrganicProductChanging();
				_isOrganicProduct = value;
				OnIsOrganicProductChanged();
			}
        }
		partial void OnIsOrganicProductChanging();
		partial void OnIsOrganicProductChanged();
		
		public virtual string ImportationDeclarationNo
        {
            get { return _importationDeclarationNo; }
			set
			{
				OnImportationDeclarationNoChanging();
				_importationDeclarationNo = value;
				OnImportationDeclarationNoChanged();
			}
        }
		partial void OnImportationDeclarationNoChanging();
		partial void OnImportationDeclarationNoChanged();
		
		public virtual string CIQNo
        {
            get { return _cIQNo; }
			set
			{
				OnCIQNoChanging();
				_cIQNo = value;
				OnCIQNoChanged();
			}
        }
		partial void OnCIQNoChanging();
		partial void OnCIQNoChanged();
		
		public virtual long MinimumOrderQuantity
        {
            get { return _minimumOrderQuantity; }
			set
			{
				OnMinimumOrderQuantityChanging();
				_minimumOrderQuantity = value;
				OnMinimumOrderQuantityChanged();
			}
        }
		partial void OnMinimumOrderQuantityChanging();
		partial void OnMinimumOrderQuantityChanged();
		
		public virtual string ImageA
        {
            get { return _imageA; }
			set
			{
				OnImageAChanging();
				_imageA = value;
				OnImageAChanged();
			}
        }
		partial void OnImageAChanging();
		partial void OnImageAChanged();
		
		public virtual string ImageB
        {
            get { return _imageB; }
			set
			{
				OnImageBChanging();
				_imageB = value;
				OnImageBChanged();
			}
        }
		partial void OnImageBChanging();
		partial void OnImageBChanged();
		
		public virtual string ImageC
        {
            get { return _imageC; }
			set
			{
				OnImageCChanging();
				_imageC = value;
				OnImageCChanged();
			}
        }
		partial void OnImageCChanging();
		partial void OnImageCChanged();
		
		public virtual string ImageD
        {
            get { return _imageD; }
			set
			{
				OnImageDChanging();
				_imageD = value;
				OnImageDChanged();
			}
        }
		partial void OnImageDChanging();
		partial void OnImageDChanged();
		
		public virtual string Resource
        {
            get { return _resource; }
			set
			{
				OnResourceChanging();
				_resource = value;
				OnResourceChanged();
			}
        }
		partial void OnResourceChanging();
		partial void OnResourceChanged();
		
        #endregion
    }
}
